91 research outputs found
Sixteen space-filling curves and traversals for d-dimensional cubes and simplices
This article describes sixteen different ways to traverse d-dimensional space
recursively in a way that is well-defined for any number of dimensions. Each of
these traversals has distinct properties that may be beneficial for certain
applications. Some of the traversals are novel, some have been known in
principle but had not been described adequately for any number of dimensions,
some of the traversals have been known. This article is the first to present
them all in a consistent notation system. Furthermore, with this article, tools
are provided to enumerate points in a regular grid in the order in which they
are visited by each traversal. In particular, we cover: five discontinuous
traversals based on subdividing cubes into 2^d subcubes: Z-traversal (Morton
indexing), U-traversal, Gray-code traversal, Double-Gray-code traversal, and
Inside-out traversal; two discontinuous traversals based on subdividing
simplices into 2^d subsimplices: the Hill-Z traversal and the Maehara-reflected
traversal; five continuous traversals based on subdividing cubes into 2^d
subcubes: the Base-camp Hilbert curve, the Harmonious Hilbert curve, the Alfa
Hilbert curve, the Beta Hilbert curve, and the Butz-Hilbert curve; four
continuous traversals based on subdividing cubes into 3^d subcubes: the Peano
curve, the Coil curve, the Half-coil curve, and the Meurthe curve. All of these
traversals are self-similar in the sense that the traversal in each of the
subcubes or subsimplices of a cube or simplex, on any level of recursive
subdivision, can be obtained by scaling, translating, rotating, reflecting
and/or reversing the traversal of the complete unit cube or simplex.Comment: 28 pages, 12 figures. v2: fixed a confusing typo on page 12, line
No acute tetrahedron is an 8-reptile
An -gentiling is a dissection of a shape into parts which are
all similar to the original shape. An -reptiling is an -gentiling of
which all parts are mutually congruent. This article shows that no acute
tetrahedron is an -gentile or -reptile for any , by showing that
no acute spherical diangle can be dissected into less than nine acute spherical
triangles.Comment: updated text, as in press with Discrete Mathematics, Discrete
Mathematics Available online 10 November 201
I/O-optimal algorithms on grid graphs
Given a graph of which the n vertices form a regular two-dimensional grid,
and in which each (possibly weighted and/or directed) edge connects a vertex to
one of its eight neighbours, the following can be done in O(scan(n)) I/Os,
provided M = Omega(B^2): computation of shortest paths with non-negative edge
weights from a single source, breadth-first traversal, computation of a minimum
spanning tree, topological sorting, time-forward processing (if the input is a
plane graph), and an Euler tour (if the input graph is a tree). The
minimum-spanning tree algorithm is cache-oblivious. The best previously
published algorithms for these problems need Theta(sort(n)) I/Os. Estimates of
the actual I/O volume show that the new algorithms may often be very efficient
in practice.Comment: 12 pages' extended abstract plus 12 pages' appendix with details,
proofs and calculations. Has not been published in and is currently not under
review of any conference or journa
Recursive tilings and space-filling curves with little fragmentation
This paper defines the Arrwwid number of a recursive tiling (or space-filling
curve) as the smallest number w such that any ball Q can be covered by w tiles
(or curve sections) with total volume O(vol(Q)). Recursive tilings and
space-filling curves with low Arrwwid numbers can be applied to optimise disk,
memory or server access patterns when processing sets of points in
d-dimensional space. This paper presents recursive tilings and space-filling
curves with optimal Arrwwid numbers. For d >= 3, we see that regular cube
tilings and space-filling curves cannot have optimal Arrwwid number, and we see
how to construct alternatives with better Arrwwid numbers.Comment: Manuscript accompanying abstract in EuroCG 2010, including full
proofs, 20 figures, references, discussion et
Harmonious Hilbert curves and other extradimensional space-filling curves
This paper introduces a new way of generalizing Hilbert's two-dimensional
space-filling curve to arbitrary dimensions. The new curves, called harmonious
Hilbert curves, have the unique property that for any d' < d, the d-dimensional
curve is compatible with the d'-dimensional curve with respect to the order in
which the curves visit the points of any d'-dimensional axis-parallel space
that contains the origin. Similar generalizations to arbitrary dimensions are
described for several variants of Peano's curve (the original Peano curve, the
coil curve, the half-coil curve, and the Meurthe curve). The d-dimensional
harmonious Hilbert curves and the Meurthe curves have neutral orientation: as
compared to the curve as a whole, arbitrary pieces of the curve have each of d!
possible rotations with equal probability. Thus one could say these curves are
`statistically invariant' under rotation---unlike the Peano curves, the coil
curves, the half-coil curves, and the familiar generalization of Hilbert curves
by Butz and Moore.
In addition, prompted by an application in the construction of R-trees, this
paper shows how to construct a 2d-dimensional generalized Hilbert or Peano
curve that traverses the points of a certain d-dimensional diagonally placed
subspace in the order of a given d-dimensional generalized Hilbert or Peano
curve.
Pseudocode is provided for comparison operators based on the curves presented
in this paper.Comment: 40 pages, 10 figures, pseudocode include
Hyperorthogonal well-folded Hilbert curves
R-trees can be used to store and query sets of point data in two or more
dimensions. An easy way to construct and maintain R-trees for two-dimensional
points, due to Kamel and Faloutsos, is to keep the points in the order in which
they appear along the Hilbert curve. The R-tree will then store bounding boxes
of points along contiguous sections of the curve, and the efficiency of the
R-tree depends on the size of the bounding boxes---smaller is better. Since
there are many different ways to generalize the Hilbert curve to higher
dimensions, this raises the question which generalization results in the
smallest bounding boxes. Familiar methods, such as the one by Butz, can result
in curve sections whose bounding boxes are a factor larger
than the volume traversed by that section of the curve. Most of the volume
bounded by such bounding boxes would not contain any data points. In this paper
we present a new way of generalizing Hilbert's curve to higher dimensions,
which results in much tighter bounding boxes: they have at most 4 times the
volume of the part of the curve covered, independent of the number of
dimensions. Moreover, we prove that a factor 4 is asymptotically optimal.Comment: Manuscript submitted to Journal of Computational Geometry. An
abstract appeared in the 31st Int Symp on Computational Geometry (SoCG 2015),
LIPIcs 34:812-82
Simple I/O-efficient flow accumulation on grid terrains
The flow accumulation problem for grid terrains takes as input a matrix of
flow directions, that specifies for each cell of the grid to which of its eight
neighbours any incoming water would flow. The problem is to compute, for each
cell c, from how many cells of the terrain water would reach c. We show that
this problem can be solved in O(scan(N)) I/Os for a terrain of N cells. Taking
constant factors in the I/O-efficiency into account, our algorithm may be an
order of magnitude faster than the previously known algorithm that is based on
time-forward processing and needs O(sort(N)) I/Os.Comment: This paper is an exact copy of the paper that appeared in the
abstract collection of the Workshop on Massive Data Algorithms, Aarhus, 200
- …